
/**
 * 移掉K位数字
 * @param {*} num 
 * @param {*} k
 *  两个相同位数的数字大小关系取决于第一个不同的数的大小 
 */
var removeKdigits = function (nums, k) {
  let stack = []
  // 判断循环的次数
  for (let i = 0; i < nums.length; i++) {
    while (k > 0 && stack.length > 0 && nums[i] < stack[stack.length - 1]) {
      stack.pop()
      k--
    }
    stack.push(nums[i])
  }
  // 循环结束k>0
  while (k > 0 && stack.length > 0) {
    stack.pop()
    k--
  }
  let result = stack.join('').replace(/^0+/, '')
  return result === '' ? '0' : result
}
console.log(removeKdigits('10200', 1));
console.log(removeKdigits('10', 2));
console.log(removeKdigits('1432219', 3));